package com.wei.czz.framework.blog.service;

import com.wei.czz.common.vo.admin.BlogUserOperationVo;
import com.wei.czz.framework.blog.entity.BlogUserOperationEntity;
import com.wei.czz.framework.rabbitMQ.message.blog.BlogOperationMessage;

import java.util.List;

/**
 * Created by IntelliJ IDEA.
 *
 * @author wei
 * date: 2021-05-30 17:46:34
 * className: BlogUserOperationService 用户操作博客请求服务接口
 * version: 1.0
 * description:
 */
public interface BlogUserOperationService {

    /**
     * 保存用户操作博客记录操作
     * @param blogUserOpt 用户操作博客记录对象
     * @return 添加数据条数
     */
    Integer saveBlogUserOperation(BlogUserOperationEntity blogUserOpt);

    /**
     * 保存用户操作博客记录操作
     * @param blogUserOperationVo 用户操作记录对象
     */
    void saveUserBlogOperation(BlogUserOperationVo blogUserOperationVo);

    /**
     * 根据用户id和博客id，判断用户是不是点赞该博客
     * @param userId 用户id
     * @param blogId 博客id
     */
    Boolean getUserLikeBlog(Long userId, Long blogId);

    /**
     * 根据用户id和博客id，判断用户是不是收藏该博客
     * @param userId 用户id
     * @param blogId 博客id
     */
    Boolean getUserCollectBlog(Long userId, Long blogId);

    /**
     * 获取用户操作博客记录操作
     * @param blogOperationMessage 博客操作消息对象
     * @return 用户操作博客记录列表
     */
    List<BlogUserOperationEntity> getBlogUserOperationList(BlogOperationMessage blogOperationMessage);

    /**
     * 修改用户操作博客记录操作
     * @param blogUserOpt 用户操作博客记录对象
     * @return 修改数据条数
     */
    int updateBlogUserOperation(BlogUserOperationEntity blogUserOpt);

}

